function gadgetMenu(gadget) {
	
	this.gadget		= gadget;
	this.gadgetI	= 0;
	
	this.initGadgetMenu = function()
	{
		var obj = this;
		
		obj.gadgetI = $(obj.gadget).attr('gadgetI');
		
		// Lien ajout d'item au menu
		$(obj.gadget).find('a.ajoutItemMenu').click(function() {
			obj.ajouterItemMenu();
			return false;
		});
		
		// Initialisation des items de menu déjà présents
		$(obj.gadget).find('.itemMenu').each(function() {
			
			var menuItem = this;
			
			obj.initItemMenu(menuItem);
			
			// Pour les liens internes, initialiser le
			// sélecteur de page:
			cp.initSelecteurPage(	
				$(menuItem).find('a.selecteur_page_choisir'),
				$(menuItem).find('input.selecteur_page_id'), 
				$(menuItem).find('span.selecteur_page_titre')
			);
			$(menuItem).find('input.selecteur_page_id').change(function() {
				$(menuItem).find('input.titreLien').val($(menuItem).find('span.selecteur_page_titre').html());
			});
			
		});
		
		// Liste d'items du menu -> sortable
		$(obj.gadget).find('.contenuMenu').sortable({
			handle:'a.deplacerItemMenu',
			placeholder: 'accepteGadget',
			forcePlaceholderSize:true,
			axis:'y',
			revert: true,
			update: function(event, ui) { cp.setPageModifiee(); }
		}).disableSelection();
		
	};
	
	this.ajouterItemMenu = function() {
		
		var obj = this;
		
		var menuItemI = $(obj.gadget).find('#menuItemI').val();
		menuItemI++;
		
		$(obj.gadget).find('.contenuMenu').append(
				'<div class="itemMenu" menuItemI="'+menuItemI+'">'+
					'<input type="hidden" name="gadget['+obj.gadgetI+'][itemI][]" value="'+menuItemI+'" />'+
					'<p>'+
						'<label>'+cp.msg.gdgMenu_type_item+'</label>'+
						'<select class="typeItemMenu" name="gadget['+obj.gadgetI+'][menuItems]['+menuItemI+'][type]">'+
							'<option value="lienInterne" selected="selected">'+cp.msg.gdgMenu_lienInterne+'</option>'+
							'<option value="lienExterne">'+cp.msg.gdgMenu_lienExterne+'</option>'+
							'<option value="liensConditions">'+cp.msg.gdgMenu_liensConditions+'</option>'+
						'</select>'+
					'</p>'+
					'<div class="detailsItemMenu">'+
					'</div>'+
				'</div>'
		);
		
		var menuItem = $(obj.gadget).find('.contenuMenu>div.itemMenu:last');
		obj.lienInterne(menuItem);
		
		$(obj.gadget).find('#menuItemI').val(menuItemI);
		
		obj.initItemMenu(menuItem);
		
		cp.setPageModifiee();
		
	};
	
	this.initItemMenu = function(menuItem) {
		
		var obj = this;
		
		$(menuItem).find("select.typeItemMenu").change(function() {
			if($(this).val() == 'lienInterne') {
				obj.lienInterne(menuItem);
			} else if($(this).val() == 'lienExterne') {
				obj.lienExterne(menuItem);
			} else {
				obj.liensConditions(menuItem);
			}
		});
		
		$(menuItem).prepend(
			'<ul class="optionsItemMenu">'+
				'<li><a href="#" class="supprimerItemMenu">'+cp.msg.supprimer+'</a></li>'+
				'<li><a href="#" class="deplacerItemMenu">'+cp.msg.deplacer+'</a></li>'+
			'</ul>');
		
		$(menuItem).find('a.supprimerItemMenu').click(function() {
			if(confirm(cp.msg.gdgMenu_confirme_supprimer_item)) {
				$(this).parent().parent().parent().supprimerAvecEffet();
				cp.setPageModifiee();
			}
			return false;
		});
		
	};
	
	this.lienInterne = function(menuItem) {
		var obj = this;
		var menuItemI = $(menuItem).attr('menuItemI');
		
		var html = '<p>'+
			'<label>'+cp.msg.page+'</label>'+
			'<span class="selecteur_page_titre">'+cp.msg.selecteur_pas_selection+'</span>'+
			'<input class="selecteur_page_id" type="hidden" name="gadget['+obj.gadgetI+'][menuItems]['+menuItemI+'][page_id]" value="" />'+
			'<a id="gdg_'+obj.gadgetI+'_item'+menuItemI+'_page_id"  href="#" class="selecteur_page_choisir">'+cp.msg.selecteur_choisir+'</a>'+
		'</p>'+
		'<p>'+
			'<label>'+cp.msg.gdgMenu_titreLien+'</label>'+
			'<input type="text" class="titreLien" id="gdg_'+obj.gadgetI+'_item'+menuItemI+'_titre" name="gadget['+obj.gadgetI+'][menuItems]['+menuItemI+'][titre]" size="40" />'+
		'</p>';
		
		$(menuItem).find('.detailsItemMenu').html(html);
		
		cp.initSelecteurPage(	
			$(menuItem).find('a.selecteur_page_choisir'),
			$(menuItem).find('input.selecteur_page_id'), 
			$(menuItem).find('span.selecteur_page_titre')
		);
		
		$(menuItem).find('input.selecteur_page_id').change(function() {
			$(menuItem).find('input.titreLien').val($(menuItem).find('span.selecteur_page_titre').html());
		});
		
	};
	
	this.lienExterne = function(menuItem) {
		var obj = this;
		var menuItemI = $(menuItem).attr('menuItemI');
		
		var html = '<p>'+
			'<label>'+cp.msg.gdgMenu_URLLien+'</label>'+
			'<input type="text" id="gdg_'+obj.gadgetI+'_item'+menuItemI+'_url" name="gadget['+obj.gadgetI+'][menuItems]['+menuItemI+'][url]" size="40" />'+
		'</p>'+
		'<p>'+
			'<label>'+cp.msg.gdgMenu_titreLien+'</label>'+
			'<input type="text" id="gdg_'+obj.gadgetI+'_item'+menuItemI+'_titre" name="gadget['+obj.gadgetI+'][menuItems]['+menuItemI+'][titre]" size="40" />'+
		'</p>';
		
		$(menuItem).find('.detailsItemMenu').html(html);
	};
	
	this.liensConditions = function(menuItem) {
		var obj = this;
		var menuItemI = $(menuItem).attr('menuItemI');
		
		var html = '<p id="gdg_'+obj.gadgetI+'_item'+menuItemI+'_conditions">'+cp.msg.gdgMenu_inclurePages+'</p>'+
		'<div class="conditions"></div>'+
		'<p style="margin-top:15px;">'+
			'<label>'+cp.msg.trier+'</label>'+
			'<select name="gadget['+obj.gadgetI+'][menuItems]['+menuItemI+'][tri_champ]">'+
				'<option value="page_titre">'+cp.msg.titre+'</option>'+
				'<option value="page_url">'+cp.msg.url+'</option>'+
				'<option value="cat_id">'+cp.msg.dossier+'</option>'+
				'<option value="page_date">'+cp.msg.date_creation+'</option>'+
				'<option value="page_date_modification">'+cp.msg.date_modification+'</option>'+
			'</select>'+
			'<select id="gdg_'+obj.gadgetI+'_item'+menuItemI+'_tri" name="gadget['+obj.gadgetI+'][menuItems]['+menuItemI+'][tri_ordre]">'+
				'<option value="asc">'+cp.msg.croissant+'</option>'+
				'<option value="desc">'+cp.msg.decroissant+'</option>'+
			'</select>'+
		'</p>';
		
		$(menuItem).find('.detailsItemMenu').html(html);
		
		var conditionsVal = new Array(
				new Array('and', 'page_id', '=', '0')
		);
		
		$(menuItem).find('div.conditions').cpConditionsPage('gadget['+obj.gadgetI+'][menuItems]['+menuItemI+'][conditions]', conditionsVal, 1, 1);
		
	};
	
}